home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
vrs501.zip
/
VRS-M3.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-08
|
5KB
|
261 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String STRING001
String STRING002
String STRING003
String TSTRING004(10)
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
;------------------------------------------------------------------------------
DCloseAll
Goto LABEL001
End
If (0 == 0) STRING001 = "NO"
If (0 == 1) STRING001 = "YES"
EndFunc
:LABEL001
STRING007 = String(PcbNode())
If (PcbNode() == 0) STRING007 = "A"
STRING008 = GetEnv(STRING007 + "RECNO")
STRING008 = ToInteger(STRING008)
STRING005 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
:LABEL002
DCloseAll
DOpen 0, PPEPath() + "USER.DBF", 0
DGo 0, STRING008
INTEGER001 = DRecNo(0)
DGet 0, "HANDLE", STRING009
DGet 0, "FILE_NUM", STRING010
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1F Virtual Reality Soldier - @X1AInsta-Mail @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1A(@X1DS@X1A)@X12can Mail @X1A(@X1DK@X1A)@X12ill your mail file @POS:79@@X19│@X0F"
PrintLn "@X10│ @X1A(@X1DW@X1A)@X12rite Mail @X1A(@X1DQ@X1A)@X12uit to Top Level @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
Newlines 2
InputStr "@X02 What Will it be soldier @X0A> ", STRING006, 11, 1, "SWKQ", 0 + 8
If (STRING006 == "") Goto LABEL006
If (STRING006 == "Q") Goto LABEL006
If (STRING006 == "S") Goto LABEL005
If (STRING006 == "K") Then
If (Exist(PPEPath() + String(STRING010) + ".MSG")) Then
Delete PPEPath() + String(STRING010) + ".MSG"
Backup 80
ClrEol
PrintLn "@X8CMessage data erased!@X0F"
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
Endif
Goto LABEL002
Endif
If (STRING006 == "W") Then
Backup 80
ClrEol
InputStr "@X0CNAME of soldier to send mail to @X0E:@X0F _", STRING011, 11, 25, Mask_Ascii(), 0 + 8
If (STRING011 == "") Goto LABEL002
Endif
If (Upper(Trim(STRING011, " ")) == Upper(Trim(STRING009, " "))) Then
Backup 80
ClrEol
PrintLn "@X0CSorry Soldier, no need to send yourself mail!@X0F"
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
Endif
DnCreate 0, PPEPath() + String(PcbNode()) + "-MH.NDX", "HANDLE"
DTop 0
DSeek 0, STRING011
If (DChkStat(0) > 0) Goto LABEL003
INTEGER002 = DRecNo(0)
DnCloseAll 0
Delete PPEPath() + String(PcbNode()) + "-MH.NDX"
DGet 0, "HANDLE", STRING011
DGet 0, "FILE_NUM", STRING012
Goto LABEL004
:LABEL003
Backup 80
ClrEol
Print "@X0CSorry, But that Soldiers NAME was not found, please try again!@X0F"
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
:LABEL004
INTEGER004 = 1
Cls
PrintLn
PrintLn " @X0BType either @X0A(@X0DQ@X0A)@X0Buit / @X0A(@X0DS@X0A)@X0Bave on a blank LINE to exit "
PrintLn "@X01┌────────────────────────────────────────────────────────────────────────────┐@X0F"
For INTEGER003 = 1 To 10
If (INTEGER003 <= 9) Print "@X0E ", INTEGER003, "@X0A)@X0B "
If (INTEGER003 == 10) Print "@X0E", INTEGER003, "@X0A)@X0B "
InputStr "_", TSTRING004(INTEGER003), 15, 73, Mask_Ascii(), 512 + 8192 + 64
If (Upper(TSTRING004(INTEGER003)) == "Q") Goto LABEL002
If (Upper(TSTRING004(INTEGER003)) == "S") Break
Inc INTEGER004
Next
Backup 80
ClrEol
PrintLn "@X01└────────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr "@X0BDo you want to make this Anonymous @X0A(@X0DY@X0A/@X0DN@X0A) _", STRING002, 10, 1, "YYNN", 0 + 8
If (STRING002 == "Y") Then
STRING003 = "Anonymous"
Else
STRING003 = STRING009
Endif
Backup 80
ClrEol
InputStr "@X0BDo you want to Save this message @X0A(@X0DY@X0A/@X0DN@X0A) _", STRING002, 10, 1, "YYNN", 0 + 8
If (STRING002 == "N") Then
For INTEGER003 = 1 To 10
TSTRING004(INTEGER003) = ""
Next
Delete PPEPath() + String(PcbNode()) + "-MH.NDX"
Goto LABEL002
Endif
INTEGER004 = INTEGER004 - 1
FAppend 1, PPEPath() + String(STRING012) + ".MSG", 2, 0
FPutLn 1, "@X0E" + String(Date()) + " @X0A " + "FROM @X0E:@X0D " + STRING003
For INTEGER003 = 1 To INTEGER004
FPutLn 1, " @X0B " + TSTRING004(INTEGER003)
Next
FPutLn 1, STRING005
FClose 1
For INTEGER003 = 1 To 10
TSTRING004(INTEGER003) = ""
Next
Delete PPEPath() + String(PcbNode()) + "-MH.NDX"
Backup 80
ClrEol
PrintLn "@X8CMAIL SENT!@X0F"
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
:LABEL005
If (Exist(PPEPath() + String(STRING010) + ".MSG")) Then
Cls
DispFile PPEPath() + String(STRING010) + ".MSG", 0
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
Endif
Backup 80
ClrEol
PrintLn " @X8C No mail to read!@X0F"
Newlines 2
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
:LABEL006
DCloseAll
Delete PPEPath() + String(PcbNode()) + "-MH.NDX"
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 3 Cls
; 8 ClrEol
; 33 Goto
; 23 Let
; 3 Print
; 15 PrintLn
; 23 If
; 1 DispFile
; 1 FAppend
; 1 FClose
; 3 FPutLn
; 5 Delete
; 5 InputStr
; 1 Inc
; 2 Newlines
; 6 Call
; 8 Backup
; 1 EndFunc
; 1 DOpen
; 3 DCloseAll
; 1 DnCreate
; 1 DnCloseAll
; 1 DTop
; 1 DGo
; 1 DSeek
; 4 DGet
;
;
; ■ Functions used :
;
; 43 +
; 1 -
; 15 ==
; 4 <
; 5 <=
; 1 >
; 8 >=
; 11 !
; 8 &&
; 4 ||
; 4 Upper()
; 2 Trim()
; 1 Date()
; 12 String()
; 2 Mask_Ascii()
; 17 PPEPath()
; 7 PcbNode()
; 1 GetEnv()
; 2 Exist()
; 1 ToInteger()
; 2 DRecNo()
; 1 DChkStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 7 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------